/**
 * <copyright>
 * </copyright>
 *
 * $Id: EusecasePackage.java 483 2007-04-03 03:07:06Z petterei $
 */
package biz.modelx.precise.usecase.ui.model.eusecase;

import biz.modelx.precise.ui.model.eprecise.EprecisePackage;

import org.eclipse.emf.ecore.EClass;
import org.eclipse.emf.ecore.EPackage;
import org.eclipse.emf.ecore.EReference;

/**
 * <!-- begin-user-doc -->
 * The <b>Package</b> for the model.
 * It contains accessors for the meta objects to represent
 * <ul>
 *   <li>each class,</li>
 *   <li>each feature of each class,</li>
 *   <li>each enum,</li>
 *   <li>and each data type</li>
 * </ul>
 * <!-- end-user-doc -->
 * @see biz.modelx.precise.usecase.ui.model.eusecase.EusecaseFactory
 * @model kind="package"
 * @generated
 */
public interface EusecasePackage extends EPackage {
	/**
	 * The package name.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	String eNAME = "eusecase";

	/**
	 * The package namespace URI.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	String eNS_URI = "biz.modelx.precise.usecase.ui.model";

	/**
	 * The package namespace name.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	String eNS_PREFIX = "usecase";

	/**
	 * The singleton instance of the package.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	EusecasePackage eINSTANCE = biz.modelx.precise.usecase.ui.model.eusecase.impl.EusecasePackageImpl.init();

	/**
	 * The meta object id for the '{@link biz.modelx.precise.usecase.ui.model.eusecase.impl.UsecaseModelImpl <em>Usecase Model</em>}' class.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see biz.modelx.precise.usecase.ui.model.eusecase.impl.UsecaseModelImpl
	 * @see biz.modelx.precise.usecase.ui.model.eusecase.impl.EusecasePackageImpl#getUsecaseModel()
	 * @generated
	 */
	int USECASE_MODEL = 0;

	/**
	 * The feature id for the '<em><b>Identifier</b></em>' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int USECASE_MODEL__IDENTIFIER = EprecisePackage.PPERSISTABLE__IDENTIFIER;

	/**
	 * The feature id for the '<em><b>Susecases</b></em>' containment reference list.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int USECASE_MODEL__SUSECASES = EprecisePackage.PPERSISTABLE_FEATURE_COUNT + 0;

	/**
	 * The feature id for the '<em><b>Sactors</b></em>' containment reference list.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int USECASE_MODEL__SACTORS = EprecisePackage.PPERSISTABLE_FEATURE_COUNT + 1;

	/**
	 * The feature id for the '<em><b>Boundaries</b></em>' containment reference list.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int USECASE_MODEL__BOUNDARIES = EprecisePackage.PPERSISTABLE_FEATURE_COUNT + 2;

	/**
	 * The number of structural features of the '<em>Usecase Model</em>' class.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int USECASE_MODEL_FEATURE_COUNT = EprecisePackage.PPERSISTABLE_FEATURE_COUNT + 3;

	/**
	 * The meta object id for the '{@link biz.modelx.precise.usecase.ui.model.eusecase.impl.ActorImpl <em>Actor</em>}' class.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see biz.modelx.precise.usecase.ui.model.eusecase.impl.ActorImpl
	 * @see biz.modelx.precise.usecase.ui.model.eusecase.impl.EusecasePackageImpl#getActor()
	 * @generated
	 */
	int ACTOR = 1;

	/**
	 * The feature id for the '<em><b>Identifier</b></em>' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int ACTOR__IDENTIFIER = EprecisePackage.PNAMEABLE__IDENTIFIER;

	/**
	 * The feature id for the '<em><b>Name</b></em>' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int ACTOR__NAME = EprecisePackage.PNAMEABLE__NAME;

	/**
	 * The feature id for the '<em><b>Description</b></em>' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int ACTOR__DESCRIPTION = EprecisePackage.PNAMEABLE__DESCRIPTION;

	/**
	 * The feature id for the '<em><b>Usecases</b></em>' reference list.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int ACTOR__USECASES = EprecisePackage.PNAMEABLE_FEATURE_COUNT + 0;

	/**
	 * The number of structural features of the '<em>Actor</em>' class.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int ACTOR_FEATURE_COUNT = EprecisePackage.PNAMEABLE_FEATURE_COUNT + 1;

	/**
	 * The meta object id for the '{@link biz.modelx.precise.usecase.ui.model.eusecase.impl.UsecaseImpl <em>Usecase</em>}' class.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see biz.modelx.precise.usecase.ui.model.eusecase.impl.UsecaseImpl
	 * @see biz.modelx.precise.usecase.ui.model.eusecase.impl.EusecasePackageImpl#getUsecase()
	 * @generated
	 */
	int USECASE = 2;

	/**
	 * The feature id for the '<em><b>Identifier</b></em>' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int USECASE__IDENTIFIER = EprecisePackage.PNAMEABLE__IDENTIFIER;

	/**
	 * The feature id for the '<em><b>Name</b></em>' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int USECASE__NAME = EprecisePackage.PNAMEABLE__NAME;

	/**
	 * The feature id for the '<em><b>Description</b></em>' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int USECASE__DESCRIPTION = EprecisePackage.PNAMEABLE__DESCRIPTION;

	/**
	 * The feature id for the '<em><b>Include</b></em>' reference list.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int USECASE__INCLUDE = EprecisePackage.PNAMEABLE_FEATURE_COUNT + 0;

	/**
	 * The feature id for the '<em><b>Extend</b></em>' reference.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int USECASE__EXTEND = EprecisePackage.PNAMEABLE_FEATURE_COUNT + 1;

	/**
	 * The feature id for the '<em><b>Generalization</b></em>' reference.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int USECASE__GENERALIZATION = EprecisePackage.PNAMEABLE_FEATURE_COUNT + 2;

	/**
	 * The feature id for the '<em><b>Actors</b></em>' reference list.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int USECASE__ACTORS = EprecisePackage.PNAMEABLE_FEATURE_COUNT + 3;

	/**
	 * The number of structural features of the '<em>Usecase</em>' class.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int USECASE_FEATURE_COUNT = EprecisePackage.PNAMEABLE_FEATURE_COUNT + 4;

	/**
	 * The meta object id for the '{@link biz.modelx.precise.usecase.ui.model.eusecase.impl.SystemBounderyImpl <em>System Boundery</em>}' class.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see biz.modelx.precise.usecase.ui.model.eusecase.impl.SystemBounderyImpl
	 * @see biz.modelx.precise.usecase.ui.model.eusecase.impl.EusecasePackageImpl#getSystemBoundery()
	 * @generated
	 */
	int SYSTEM_BOUNDERY = 3;

	/**
	 * The feature id for the '<em><b>Identifier</b></em>' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int SYSTEM_BOUNDERY__IDENTIFIER = EprecisePackage.PNAMEABLE__IDENTIFIER;

	/**
	 * The feature id for the '<em><b>Name</b></em>' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int SYSTEM_BOUNDERY__NAME = EprecisePackage.PNAMEABLE__NAME;

	/**
	 * The feature id for the '<em><b>Description</b></em>' attribute.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int SYSTEM_BOUNDERY__DESCRIPTION = EprecisePackage.PNAMEABLE__DESCRIPTION;

	/**
	 * The feature id for the '<em><b>Sbusecases</b></em>' containment reference list.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int SYSTEM_BOUNDERY__SBUSECASES = EprecisePackage.PNAMEABLE_FEATURE_COUNT + 0;

	/**
	 * The number of structural features of the '<em>System Boundery</em>' class.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 * @ordered
	 */
	int SYSTEM_BOUNDERY_FEATURE_COUNT = EprecisePackage.PNAMEABLE_FEATURE_COUNT + 1;


	/**
	 * Returns the meta object for class '{@link biz.modelx.precise.usecase.ui.model.eusecase.UsecaseModel <em>Usecase Model</em>}'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return the meta object for class '<em>Usecase Model</em>'.
	 * @see biz.modelx.precise.usecase.ui.model.eusecase.UsecaseModel
	 * @generated
	 */
	EClass getUsecaseModel();

	/**
	 * Returns the meta object for the containment reference list '{@link biz.modelx.precise.usecase.ui.model.eusecase.UsecaseModel#getSusecases <em>Susecases</em>}'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return the meta object for the containment reference list '<em>Susecases</em>'.
	 * @see biz.modelx.precise.usecase.ui.model.eusecase.UsecaseModel#getSusecases()
	 * @see #getUsecaseModel()
	 * @generated
	 */
	EReference getUsecaseModel_Susecases();

	/**
	 * Returns the meta object for the containment reference list '{@link biz.modelx.precise.usecase.ui.model.eusecase.UsecaseModel#getSactors <em>Sactors</em>}'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return the meta object for the containment reference list '<em>Sactors</em>'.
	 * @see biz.modelx.precise.usecase.ui.model.eusecase.UsecaseModel#getSactors()
	 * @see #getUsecaseModel()
	 * @generated
	 */
	EReference getUsecaseModel_Sactors();

	/**
	 * Returns the meta object for the containment reference list '{@link biz.modelx.precise.usecase.ui.model.eusecase.UsecaseModel#getBoundaries <em>Boundaries</em>}'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return the meta object for the containment reference list '<em>Boundaries</em>'.
	 * @see biz.modelx.precise.usecase.ui.model.eusecase.UsecaseModel#getBoundaries()
	 * @see #getUsecaseModel()
	 * @generated
	 */
	EReference getUsecaseModel_Boundaries();

	/**
	 * Returns the meta object for class '{@link biz.modelx.precise.usecase.ui.model.eusecase.Actor <em>Actor</em>}'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return the meta object for class '<em>Actor</em>'.
	 * @see biz.modelx.precise.usecase.ui.model.eusecase.Actor
	 * @generated
	 */
	EClass getActor();

	/**
	 * Returns the meta object for the reference list '{@link biz.modelx.precise.usecase.ui.model.eusecase.Actor#getUsecases <em>Usecases</em>}'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return the meta object for the reference list '<em>Usecases</em>'.
	 * @see biz.modelx.precise.usecase.ui.model.eusecase.Actor#getUsecases()
	 * @see #getActor()
	 * @generated
	 */
	EReference getActor_Usecases();

	/**
	 * Returns the meta object for class '{@link biz.modelx.precise.usecase.ui.model.eusecase.Usecase <em>Usecase</em>}'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return the meta object for class '<em>Usecase</em>'.
	 * @see biz.modelx.precise.usecase.ui.model.eusecase.Usecase
	 * @generated
	 */
	EClass getUsecase();

	/**
	 * Returns the meta object for the reference list '{@link biz.modelx.precise.usecase.ui.model.eusecase.Usecase#getInclude <em>Include</em>}'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return the meta object for the reference list '<em>Include</em>'.
	 * @see biz.modelx.precise.usecase.ui.model.eusecase.Usecase#getInclude()
	 * @see #getUsecase()
	 * @generated
	 */
	EReference getUsecase_Include();

	/**
	 * Returns the meta object for the reference '{@link biz.modelx.precise.usecase.ui.model.eusecase.Usecase#getExtend <em>Extend</em>}'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return the meta object for the reference '<em>Extend</em>'.
	 * @see biz.modelx.precise.usecase.ui.model.eusecase.Usecase#getExtend()
	 * @see #getUsecase()
	 * @generated
	 */
	EReference getUsecase_Extend();

	/**
	 * Returns the meta object for the reference '{@link biz.modelx.precise.usecase.ui.model.eusecase.Usecase#getGeneralization <em>Generalization</em>}'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return the meta object for the reference '<em>Generalization</em>'.
	 * @see biz.modelx.precise.usecase.ui.model.eusecase.Usecase#getGeneralization()
	 * @see #getUsecase()
	 * @generated
	 */
	EReference getUsecase_Generalization();

	/**
	 * Returns the meta object for the reference list '{@link biz.modelx.precise.usecase.ui.model.eusecase.Usecase#getActors <em>Actors</em>}'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return the meta object for the reference list '<em>Actors</em>'.
	 * @see biz.modelx.precise.usecase.ui.model.eusecase.Usecase#getActors()
	 * @see #getUsecase()
	 * @generated
	 */
	EReference getUsecase_Actors();

	/**
	 * Returns the meta object for class '{@link biz.modelx.precise.usecase.ui.model.eusecase.SystemBoundery <em>System Boundery</em>}'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return the meta object for class '<em>System Boundery</em>'.
	 * @see biz.modelx.precise.usecase.ui.model.eusecase.SystemBoundery
	 * @generated
	 */
	EClass getSystemBoundery();

	/**
	 * Returns the meta object for the containment reference list '{@link biz.modelx.precise.usecase.ui.model.eusecase.SystemBoundery#getSbusecases <em>Sbusecases</em>}'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return the meta object for the containment reference list '<em>Sbusecases</em>'.
	 * @see biz.modelx.precise.usecase.ui.model.eusecase.SystemBoundery#getSbusecases()
	 * @see #getSystemBoundery()
	 * @generated
	 */
	EReference getSystemBoundery_Sbusecases();

	/**
	 * Returns the factory that creates the instances of the model.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @return the factory that creates the instances of the model.
	 * @generated
	 */
	EusecaseFactory getEusecaseFactory();

	/**
	 * <!-- begin-user-doc -->
	 * Defines literals for the meta objects that represent
	 * <ul>
	 *   <li>each class,</li>
	 *   <li>each feature of each class,</li>
	 *   <li>each enum,</li>
	 *   <li>and each data type</li>
	 * </ul>
	 * <!-- end-user-doc -->
	 * @generated
	 */
	interface Literals {
		/**
		 * The meta object literal for the '{@link biz.modelx.precise.usecase.ui.model.eusecase.impl.UsecaseModelImpl <em>Usecase Model</em>}' class.
		 * <!-- begin-user-doc -->
		 * <!-- end-user-doc -->
		 * @see biz.modelx.precise.usecase.ui.model.eusecase.impl.UsecaseModelImpl
		 * @see biz.modelx.precise.usecase.ui.model.eusecase.impl.EusecasePackageImpl#getUsecaseModel()
		 * @generated
		 */
		EClass USECASE_MODEL = eINSTANCE.getUsecaseModel();

		/**
		 * The meta object literal for the '<em><b>Susecases</b></em>' containment reference list feature.
		 * <!-- begin-user-doc -->
		 * <!-- end-user-doc -->
		 * @generated
		 */
		EReference USECASE_MODEL__SUSECASES = eINSTANCE.getUsecaseModel_Susecases();

		/**
		 * The meta object literal for the '<em><b>Sactors</b></em>' containment reference list feature.
		 * <!-- begin-user-doc -->
		 * <!-- end-user-doc -->
		 * @generated
		 */
		EReference USECASE_MODEL__SACTORS = eINSTANCE.getUsecaseModel_Sactors();

		/**
		 * The meta object literal for the '<em><b>Boundaries</b></em>' containment reference list feature.
		 * <!-- begin-user-doc -->
		 * <!-- end-user-doc -->
		 * @generated
		 */
		EReference USECASE_MODEL__BOUNDARIES = eINSTANCE.getUsecaseModel_Boundaries();

		/**
		 * The meta object literal for the '{@link biz.modelx.precise.usecase.ui.model.eusecase.impl.ActorImpl <em>Actor</em>}' class.
		 * <!-- begin-user-doc -->
		 * <!-- end-user-doc -->
		 * @see biz.modelx.precise.usecase.ui.model.eusecase.impl.ActorImpl
		 * @see biz.modelx.precise.usecase.ui.model.eusecase.impl.EusecasePackageImpl#getActor()
		 * @generated
		 */
		EClass ACTOR = eINSTANCE.getActor();

		/**
		 * The meta object literal for the '<em><b>Usecases</b></em>' reference list feature.
		 * <!-- begin-user-doc -->
		 * <!-- end-user-doc -->
		 * @generated
		 */
		EReference ACTOR__USECASES = eINSTANCE.getActor_Usecases();

		/**
		 * The meta object literal for the '{@link biz.modelx.precise.usecase.ui.model.eusecase.impl.UsecaseImpl <em>Usecase</em>}' class.
		 * <!-- begin-user-doc -->
		 * <!-- end-user-doc -->
		 * @see biz.modelx.precise.usecase.ui.model.eusecase.impl.UsecaseImpl
		 * @see biz.modelx.precise.usecase.ui.model.eusecase.impl.EusecasePackageImpl#getUsecase()
		 * @generated
		 */
		EClass USECASE = eINSTANCE.getUsecase();

		/**
		 * The meta object literal for the '<em><b>Include</b></em>' reference list feature.
		 * <!-- begin-user-doc -->
		 * <!-- end-user-doc -->
		 * @generated
		 */
		EReference USECASE__INCLUDE = eINSTANCE.getUsecase_Include();

		/**
		 * The meta object literal for the '<em><b>Extend</b></em>' reference feature.
		 * <!-- begin-user-doc -->
		 * <!-- end-user-doc -->
		 * @generated
		 */
		EReference USECASE__EXTEND = eINSTANCE.getUsecase_Extend();

		/**
		 * The meta object literal for the '<em><b>Generalization</b></em>' reference feature.
		 * <!-- begin-user-doc -->
		 * <!-- end-user-doc -->
		 * @generated
		 */
		EReference USECASE__GENERALIZATION = eINSTANCE.getUsecase_Generalization();

		/**
		 * The meta object literal for the '<em><b>Actors</b></em>' reference list feature.
		 * <!-- begin-user-doc -->
		 * <!-- end-user-doc -->
		 * @generated
		 */
		EReference USECASE__ACTORS = eINSTANCE.getUsecase_Actors();

		/**
		 * The meta object literal for the '{@link biz.modelx.precise.usecase.ui.model.eusecase.impl.SystemBounderyImpl <em>System Boundery</em>}' class.
		 * <!-- begin-user-doc -->
		 * <!-- end-user-doc -->
		 * @see biz.modelx.precise.usecase.ui.model.eusecase.impl.SystemBounderyImpl
		 * @see biz.modelx.precise.usecase.ui.model.eusecase.impl.EusecasePackageImpl#getSystemBoundery()
		 * @generated
		 */
		EClass SYSTEM_BOUNDERY = eINSTANCE.getSystemBoundery();

		/**
		 * The meta object literal for the '<em><b>Sbusecases</b></em>' containment reference list feature.
		 * <!-- begin-user-doc -->
		 * <!-- end-user-doc -->
		 * @generated
		 */
		EReference SYSTEM_BOUNDERY__SBUSECASES = eINSTANCE.getSystemBoundery_Sbusecases();

	}

} //EusecasePackage
